Skip to content

Add an experimental GCSDownloader for HTTPS Collection support#1342

Open
sirosen wants to merge 3 commits intoglobus:mainfrom
sirosen:experimental-gcs-downloader
Open

Add an experimental GCSDownloader for HTTPS Collection support#1342
sirosen wants to merge 3 commits intoglobus:mainfrom
sirosen:experimental-gcs-downloader

Conversation

@sirosen
Copy link
Member

@sirosen sirosen commented Nov 20, 2025

This is an initial experimental implementation, not necessarily our long-term interface.
It solves the most important problem in handling HTTPS for GCS, which is translating a file URL into a collection ID.

The interface is the part most subject to potential future refinement, as it's not clear how to provide the right level of control over

  • the transport used to sniff details
  • the transfer client used to lookup by ID
  • the client and transport used to actually do the download

This is an implementation of HTTPS download from GCS collections via
Location header sniffing, which is the only mechanism we have available
on all GCS versions for translating a URL to a client ID.


New doc link: https://globus-sdk-python--1342.org.readthedocs.build/en/1342/experimental/gcs_downloader.html#example-usage

@sirosen sirosen force-pushed the experimental-gcs-downloader branch 2 times, most recently from e991f07 to 2fa56e4 Compare November 20, 2025 15:42
sirosen added 3 commits March 20, 2026 19:15
This is an implementation of HTTPS download from GCS collections via
Location header sniffing, which is the only mechanism we have available
on all GCS versions for translating a URL to a client ID.
Argument parsing isn't essential to the example, and therefore its
removal simplifies in a beneficial way for the reader.
There is now a separate client object for HTTPS accessible collections.
This requires refactoring the GCSDownloader slightly, to use this client.

In the course of these changes, the "client constructor" protocol has
been removed, as it is deemed unnecessary until proven otherwise.
@sirosen sirosen force-pushed the experimental-gcs-downloader branch from 4deb394 to 2f5cd8d Compare March 21, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant